Terminal device and non-transitory computer-readable medium for terminal device

ABSTRACT

A terminal device may register first device information of a first image processing device in a memory; specify by using the first device information, N applications corresponding to one or more types of image processes that the first image processing device is capable of executing from among M applications; display a first menu screen on a display unit, the first menu screen including N icons indicating the specified N applications, each of the N icons having a first type of displaying state that is capable of accepting a selecting operation for using an application, the first menu screen not including each of (M−N) icons having the first type of displaying state, the (M−N) icons indicating (M−N) applications; send an execution instruction to the first image processing device by using a target application indicated by a target icon selected from among the N icons in the first menu screen.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Japanese Patent Application No.2017-218187 filed on Nov. 13, 2017, the contents of which are herebyincorporated by reference into the present application.

TECHNICAL FIELD

The disclosure herein discloses a technology utilized in a terminaldevice for using an application to send an execution instruction of animage process corresponding to the application to an image processingdevice.

DESCRIPTION OF RELATED ART

For example, a main application of a terminal device acquires image datafrom a scanner. The main application has a sharing function to sharethis image data with another application, and in a case of accepting anexecution instruction of the sharing function, the main applicationdisplays a list of one or more applications, which are share counterpartcandidates, capable of processing the image data. When an application inthe list is selected by a user, the selected application as a sharecounterpart application executes a predetermined process (such assending an e-mail) on the image data.

SUMMARY

The above technique does not assume that in which the main applicationuses the share counterpart application selected by the user to cause animage processing device to execute the image process corresponding tothe share counterpart application.

The disclosure herein provides a technique that prevents an executioninstruction of an image process from being sent to an image processingdevice in a situation where the image processing device is not capableof executing the image process corresponding to the share counterpartapplication.

A non-transitory computer-readable medium storing computer-readableinstructions for a terminal device is disclosed herein. Thecomputer-readable instructions, when executed by a processor of theterminal device, may cause the terminal device to: register first deviceinformation of a first image processing device in a memory of theterminal device in a case where the first image processing device isdesignated, from among one or more image processing devices with whichthe terminal device is capable of communicating, as a target imageprocessing device that is to execute an image process in accordance withan instruction from the terminal device; after the first deviceinformation has been registered in the memory, specify by using thefirst device information in the memory, from among M applications thatthe computer-readable instructions are capable of using, N applicationscorresponding to one or more types of image processes that the firstimage processing device is capable of executing, the M being an integerof 1 or larger and the N being an integer satisfying 1≤N≤M; display afirst menu screen on a display unit of the terminal device, the firstmenu screen including N icons indicating the specified N applications,each of the N icons having a first type of displaying state that iscapable of accepting a selecting operation for using an application, thefirst menu screen not including each of (M−N) icons having the firsttype of displaying state, the (M−N) icons indicating (M−N) applicationsother than the N applications among the M applications; and in a casewhere a target icon is selected from among the N icons included in thefirst menu screen, send an execution instruction to the first imageprocessing device by using a target application indicated by theselected target icon, the execution instruction being for a target imageprocess corresponding to the target application.

A terminal device comprising a memory configured to store thecomputer-readable instructions above and a control method forimplementation of the terminal device are also novel and useful.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of a communication system;

FIG. 2 shows an application information table and a compliance listtable;

FIG. 3 shows a table indicating applications compliant with respectiveimage processing devices;

FIG. 4 shows a flowchart of a process in a terminal device;

FIG. 5 shows a flowchart of a function icon process;

FIG. 6 shows a flowchart of an application specifying process;

FIG. 7 shows a flowchart of a selection monitoring process;

FIG. 8 shows specific examples of a menu screen displayed in a casewhere an image processing device is designated;

FIG. 9 shows specific examples of a menu screen displayed in a casewhere an additional plug-in application is installed;

FIG. 10 shows a flowchart of a switching process; and

FIG. 11 shows a specific example of a screen displayed in a case wherean application icon is selected in a default menu screen.

EMBODIMENTS First Embodiment

(Configuration of Communication System 2; FIG. 1)

As shown in FIG. 1, a communication system 2 includes a terminal device10, a plurality of image processing devices 100 to 400, an applicationproviding server 500, and a list providing server 600. The imageprocessing devices 100 to 400 include multi-function peripherals 100,200 capable of executing both a print function and a scan function, ascanner 300 capable of executing only the scan function among the printfunction and the scan function, and a printer 400 capable of executingonly the print function among the print function and the scan function.The terminal device 10 and the respective image processing devices 100to 400 are connected to a same LAN (abbreviation of Local Area Network)4. The LAN 4 may be a wired LAN or a wireless LAN.

Further, the LAN 4 is connected to the Internet 6. The applicationproviding server 500 and the list providing server 600 are located onthe Internet 6. Devices belonging to the LAN 4 (such as the terminaldevice 10) are capable of communicating with servers located on theInternet 6 (such as 500) through the LAN 4 and the Internet 6.

(Configuration of Terminal Device 10)

The terminal device 10 is a user terminal such as a desktop PC(abbreviation of Personal Computer), a laptop PC, a tablet PC, or asmartphone. The terminal device 10 includes a display unit 12, a LANinterface 14, and a controller 20. The respective units 12 to 20 areconnected to a bus line (reference sign thereof omitted). Hereinbelow,an interface will be denoted “I/F”.

The display unit 12 is a display for displaying various types ofinformation. The display unit 12 also functions as an operation unit (aso-called touch panel) for accepting user's instructions. In a variant,an operation unit such as a keyboard may be provided aside from thedisplay unit 12. The LAN I/F 14 is an I/F for executing communicationwith the multi-function peripheral 100 and the like through the LAN 4.

The controller 20 includes a CPU 22 and a memory 24. The CPU 22 isconfigured to execute various processes according to programs 26, 28, 40to 44 stored in the memory 24. The memory 24 stores an OS (abbreviationof Operating System) program 26 and a print scan application 28.Hereinbelow, an application will be denoted “app”. The print scan app 28is an application for causing an image processing device (such as 100)to execute print and scan, and is installed in the terminal device 10from the application providing server 500 provided by a vendor of theimage processing device on the Internet 6. In a variant, the print scanapp 28 may be installed in the terminal device 10 from a medium shippedwith the image processing device (such as 100).

The print scan app 28 secures a storage region in the memory 24 andstores an app information table 30 and target information 32 in thisstorage region. The app information table 30 is a table for storing appinformation related to respective plug-in apps which the print scan app28 is capable of using. The target information 32 includes information(such as a model name) related to a target image processing device thatis an image processing device which is to execute an image process inaccordance with an instruction from the terminal device 10.

The memory 24 further stores plug-in apps 40 to 44 which the print scanapp 28 is capable of using. In a state of FIG. 1, the memory 24 stores abusiness card print app 40, a book scan app 42, and a map print app 44.The business card print app 40 is an application for causing an imageprocessing device to execute print of an image on a business card-sizeprint medium. The book scan app 42 is an application for causing animage processing device to execute scan on a book. The map print app 44is an application for causing an image processing device to executeprint of an image representing a map. The respective plug-in apps 40 to44 are installed in the terminal device 10 from the applicationproviding server 500.

Aside from the respective plug-in apps 40 to 44, the vendor of imageprocessing devices provides various plug-in apps including a CD labelprint app 46 and a photo print app 48. Aside from the respective plug-inapps 40 to 44, the application providing server 500 stores the CD labelprint app 46 and the photo print app 48. The CD label print app 46 is anapplication for causing an image processing device to execute print ofan image on a CD. The photo print app 48 is an application for causingan image processing device to execute print of an image representing aphotograph.

(App Information Table 30; FIG. 2)

Contents of the app information table 30 will be described withreference to FIG. 2. The app information table 30 stores app informationcorresponding to each of the one or more plug-in apps installed in theterminal device 10. Each of the app information includes an informationnumber, an app ID (abbreviation of Identifier), an app name, a grayoutflag, and a determination flag.

Each information number is a unique number given upon when thecorresponding plug-in app is installed. Each app ID is an ID foridentifying the corresponding plug-in app. Each app name is a name ofthe corresponding plug-in app. Each grayout flag is set to either one ofvalues “ON” indicating that an icon indicative of the correspondingplug-in app is to be displayed in a grayout displaying state (that is,in a displaying state that is not capable of accepting a selectingoperation) and “OFF” indicating that the icon indicative of the plug-inapp is to be displayed in a normal displaying state (that is, in adisplaying state that is capable of accepting the selecting operation).Each determination flag is set to either one of values “ON” indicatingthat a determination on whether the corresponding grayout flag is to beset in “ON” or “OFF” (see FIG. 6) has been executed and “OFF” indicatingthat this determination has not yet been executed.

(Configurations of Respective Image Processing Devices 100 to 400; FIG.3)

As shown in FIG. 3, each of the image processing devices 100 to 400 isallocated with a model name (such as “Ink_mfp”) and an IP address in theLAN 4 (such as “A1”).

The multi-function peripheral 100 includes an inkjet scheme printmechanism and scan mechanisms for both an FB (abbreviation of FlatBed)scheme and an ADF (abbreviation of Auto Document Feeder) scheme. Themulti-function peripheral 200 includes the same configuration as that ofthe multi-function peripheral 100 except for that it includes a laserscheme print mechanism. The scanner 300 includes the AFD scheme scanmechanism, and the printer 400 includes the inkjet scheme printmechanism.

The inkjet scheme is a scheme that prints an image by ejecting ink on aprint medium. According to the inkjet scheme, an image can be printednot only on a sheet of plain paper generally used as a print medium butalso on a special print medium (such as a business card-size printmedium, a CD, etc.). Due to this, the multi-function peripheral 100 iscapable of executing a print process of printing an image on a plainpaper (such as a print process corresponding to the map print app 44 andthe photo print app 48) as well as a print process of printing an imageon a special print medium (such as a print process corresponding to thebusiness card print app 40 and the CD label print app 46). In otherwords, the multi-function peripheral 100 provided with the inkjet schemeprint mechanism is compliant with the business card print app 40, themap print app 44, the CD label print app 46, and the photo print app 48.Similarly, the printer 400 provided with the inkjet scheme printmechanism is also compliant with the respective plug-in apps 40, 44, 46,48.

On the other hand, the laser scheme is a scheme that prints an image bycausing toner to adhere to a surface of a photosensitive drum andtransferring the toner on the photosensitive drum onto a print mediumwhile the print medium makes contact with the photosensitive drum.According to the laser scheme, an image can be printed on a print medium(such as the plain paper) that can be conveyed along the photosensitivedrum, but an image cannot be printed on a special print medium (such asthe business card-size print medium, the CD, etc.) that cannot beconveyed along the photosensitive drum. That is, the multi-functionperipheral 200 provided with the laser scheme print mechanism iscompliant with the map print app 44 and the photo print app 48, but isnot compliant with the business card print app 40 and the CD label printapp 46.

The FB scheme is a scheme that scans a document placed on a transparentplate. According to the FB scheme, a book in which plural sheets ofpapers are bound can be scanned. Due to this, the multi-functionperipherals 100, 200 are capable of executing a scan process of scanninga book (that is, a scan process corresponding to the book scan app 42).Due to this, the multi-function peripherals 100, 200 provided with theFB scheme scan mechanism are compliant with the book scan app 42.

On the other hand, the ADF scheme is a scheme that scans a documentwhile conveying a scan target document. According to the ADF scheme, abook, which is not conveyable, cannot be scanned. Due to this, thescanner 300, which is provided with the ADF scheme scan mechanism butnot provided with the FB scheme scan mechanism, is not compliant withthe book scan app 42.

(Configuration of Application Providing Server 500)

As shown in FIG. 1, the application providing server 500 stores thevarious applications 28, 40 to 48. The application providing server 500is configured to send an application to the terminal device 10 inaccordance with a request from the terminal device 10.

(Configuration of List Providing Server 600)

The list providing server 600 stores a compliance list table 630. Thelist providing server 600 is configured to send a compliance listincluded in the compliance list table 630 to the terminal device 10 inaccordance with a request from the terminal device 10. Each of theaforementioned servers 500, 600 is provided on the Internet 6 by thevendor of the image processing devices 100 to 400 in this embodiment,however, in a variant, they may be provided by a business entitydifferent from the vendor.

(Compliance List Table 630; FIG. 2)

Contents of the compliance list table 630 will be described withreference to FIG. 2. The compliance list table 630 stores the app ID,the app name, and a compliance list in association with each other foreach of the plurality of plug-in apps. Each compliance list is a list ofthe model names of image processing devices that are compliant with thecorresponding plug-in app identified by the app ID and the app name. Forexample, as aforementioned, the business card print app 40 is compliantwith the multi-function peripheral 100 and the printer 400, but is notcompliant with the multi-function peripheral 200 and the scanner 300.Due to this, a compliant list corresponding to the app name “businesscard print” includes the model name “Ink_mfp” of the multi-functionperipheral 100 and the model name “Ink_print” of the printer 400, butdoes not include the model name “Lz_mfp” of the multi-functionperipheral 200 nor the model name “ADF_scan” of the scanner 300.

(Process in Terminal Device; FIG. 4)

Contents of a process which the CPU 22 of the terminal device 10executes in accordance with the print scan app 28 will be described withreference to FIG. 4. The process of FIG. 4 is initiated with anactivation of the print scan app 28 as a trigger.

In S10, the CPU 22 determines whether or not a target image processingdevice (hereinbelow denoted as a “target device”) that is to execute animage process (that is, a print process and a scan process) inaccordance with an instruction from the terminal device 10 has beendesignated by a user. Specifically, the CPU 22 determines whether or noteach of information (the model name, the IP address, and functioninformation) related to the target device is stored in the memory 24 asthe target information 32. Here, the function information indicates afunction which the image processing device is capable of executing (thatis, at least one of the print function and the scan function). In a caseof determining that the target information 32 is stored in the memory 24(YES in S10), the CPU 22 skips processes of S12 to S24 and proceeds toS40. In a case of determining that the target information 32 is notstored in the memory 24 (NO in S10), the CPU 22 proceeds to S12.

In S12, the CPU 22 displays a default menu screen MS0 on the displayunit 12. The menu screen MS0 includes a print icon I20 indicating theprint function, a scan icon I21 indicating the scan function, an installicon I40 indicating an installation process of a plug-in app, and iconsI30 to I32 respectively indicating the plug-in apps 40 to 44 installedin the terminal device 10. The menu screen MS0 further includes a devicedesignation icon I50 for designating a target device. Each of the iconsI20, I21, I30 to I32, I40, I50 has the normal displaying state (that is,the displaying state that is capable of accepting a selectingoperation). Hereinbelow, the print icon I20 and the scan icon I21 willbe denoted collectively as “function icons”, and the respective icons(such as a business card icon I30) indicating the plug-in apps will bedenoted collectively as “app icons”. Further, hereinbelow, an app iconindicating the business card print app 40 will be denoted as “businesscard icon” by using the initial wording “business card” in the app name,and the app icons for the other plug-in apps will be denoted accordingto the same rule.

In S14, the CPU 22 monitors whether one of the respective icons I20,etc., other than the install icon I40, included in the menu screen MS0is selected by the user. Although not shown, in a case where the installicon I40 is selected by the user, the CPU 22 executes an installationprocess for installing an additional application (such as the CD labelprint app 46) and returns to S12. The installation process is similar toS132 to S138 of FIG. 7 to be described later.

In a case where one icon (such as I30) other than the install icon I40is selected by the user (YES in S14), the CPU 22 broadcasts a searchsignal to the LAN 4 in S16 through the LAN I/F 14. The search signal isa signal for requesting each image processing device to send a responsesignal including information of the image processing device (that is,the model name, the IP address, and the function information thereof).

In S18, the CPU 22 uses one or more response signals received from oneor more image processing devices connected to the LAN 4 to display adevice designation screen for designating a target device from among theone or more image processing devices on the display unit 12. The devicedesignation screen includes a list of one or more model names includedin the one or more response signals.

In S20, the CPU 22 monitors whether or not one model name is designatedby the user from the list of the one or more model names included in thedevice designation screen. In a case where one model name is designated,the CPU 22 determines YES in S20 and proceeds to S22.

In S22, the CPU 22 specifies the response signal including the modelname selected in S20 from among the one or more response signalsreceived in S16, and registers the respective types of information (thatis, the model name, the IP address, and the function information)included in the specified response signal as the target information 32in the memory 24. When the print scan app 28 is to be activated the nexttime or thereafter, the target information 32 is already registered inthe memory 24, so the CPU 22 determines YES in S10.

In S24, the CPU 22 sets the grayout flag and the determination flag to“OFF” for all the app information in the app information table 30. WhenS24 is completed, the CPU 22 proceeds to S40.

The CPU 22 executes a function icon process (see FIG. 5) in S40, andthen executes an application specifying process (see FIG. 6) in S60. Thefunction icon process is a process for determining whether or not therespective function icons I20, I21 are to be displayed. The applicationspecifying process is a process for specifying an app that is notcompliant with the target device and setting the grayout flagcorresponding to this app to “ON” in the app information table 30.

Next, in S90, the CPU 22 displays a menu screen different from thedefault menu screen MS0 on the display unit 12 based on results of theprocesses of S40 and S60. For example, in a case where it is determinedthat the print icon I20 is to be displayed and the scan icon I21 is notto be displayed in the process of S40, the CPU 22 displays a menu screenincluding the print icon I20 but not including the scan icon I21. Forexample, in a case where the grayout flag corresponding to the book scanapp 42 is set to “ON” in the app information table 30 in the process ofS60, the CPU 22 displays a menu screen including a book icon I31 havinga grayed-out displaying state.

In S100, the CPU 22 executes a selection monitoring process (see FIG. 7)for monitoring whether one icon included in the menu screen displayed inS90 is selected by the user. When S100 is completed, the CPU 22 returnsto S10.

For example, a comparative example may be assumed in which the processesof S16 to S24 are omitted in the case where one of the app icons I30 toI32 included in the default menu screen MS0 is selected by the user, andthe plug-in app indicated by the selected app icon is activated. In thiscomparative example, the plug-in app is activated in a state where atarget device has not been designated by the user. When a target deviceis designated thereafter, the target device may not be compliant withthe already-activated plug-in app. That is, according to the comparativeexample, the plug-in app may possibly be activated unnecessarily.Contrary to this, in the present embodiment, the processes of S16 to S24are executed without activating the plug-in app, and then a targetdevice is designated by the user. Due to this, the plug-in app can beprevented from being activated unnecessarily. In a variant, theconfiguration of the above comparative example may be employed.

(Function Icon Process; FIG. 5)

The function icon process (see S40 of FIG. 4) will be described withreference to FIG. 5. In S42, the CPU 22 determines whether or not thefunction information included in the target information 32 in the memory24 indicates both the print function and the scan function. In a case ofdetermining that the function information indicates both the printfunction and the scan function (YES in S42), the CPU 22 proceeds to S44.In a case of determining that function information indicates one of theprint function and the scan function (NO in S42), the CPU 22 proceeds toS48.

In S44, the CPU 22 determines to display the print icon I20 and the scanicon I21 When S44 is completed, the process of FIG. 5 is completed.

In S48, the CPU 22 determines whether or not the function informationincluded in the target information 32 in the memory 24 indicates onlythe print function. In a case of determining that the functioninformation indicates only the print function (YES in S48), the CPU 22proceeds to S50. In a case of determining that the function informationindicates only the scan function (NO in S48), the CPU 22 proceeds toS54.

In S50, the CPU 22 determines to display the print icon I20 and not todisplay the scan icon I21. When S50 is completed, the process of FIG. 5is completed.

In S54, the CPU 22 determines to display the scan icon I21 and not todisplay the print icon I20. When S54 is completed, the process of FIG. 5is completed.

When the process of FIG. 5 is executed, the print icon I20 is determinedto be displayed or not displayed, and the scan icon I21 is determined tobe displayed or not displayed. Then, in S90 of FIG. 4, a menu screen,which includes the icon(s) determined to be “displayed” but does notinclude the icon(s) determined to be “not displayed”, is displayed.

(Application Specifying Process; FIG. 6)

The application specifying process (see S60 of FIG. 4) will be describedwith reference to FIG. 6. In S62, the CPU 22 specifies one appinformation from among all the app information in the app informationtable 30. Hereinbelow, the app information specified here will be termed“specified app information”.

In S64, the CPU 22 determines whether or not the determination flagincluded the specified app information indicates “ON”. In a case ofdetermining that the determination flag indicates “ON” (YES in S64), theCPU 22 skips processes of S66 to S72 and proceeds to S74. In a case ofdetermining that the determination flag indicates “OFF” (NO in S64), theCPU 22 proceeds to S66.

In S66, the CPU 22 sends the app ID included in the specified appinformation to the list providing server 600 through the LAN I/F 14 andthe Internet 6. As a result, the CPU 22 receives a compliance listcorresponding to the sent app ID from the list providing server 600.

In S68, the CPU 22 determines whether or not the model name included inthe target information 32 (that is, the model name of the target device)in the memory 24 is included in the received compliance list. In a caseof determining that the model name included in the target information 32is included in the received compliance list (YES in S68), the CPU 22skips S70 and proceeds to S72. On the other hand, in a case ofdetermining that the model name included in the target information 32 isnot included in the received compliance list (NO in S68), the CPU 22changes the grayout flag included in the specified app information inthe app information table 30 from “OFF” to “ON” in S70.

In S72, the CPU 22 changes the determination flag included in thespecified app information in the app information table 30 from “OFF” to“ON”.

In S74, the CPU 22 determines whether or not app information that hasnot yet been specified in S62 exists among all the app information inthe app information table 30. In a case of determining that there stillis unspecified app information (YES in S74), the CPU 22 returns to S62,newly specifies app information, and executes the processes of S64 andthe subsequent steps again. On the other hand, in a case of determiningthat there is no more unspecified app information (NO in S74), the CPU22 completes the process of FIG. 6.

For example, a comparative example may be assumed in which nodetermination flag is stored in the app information table 30. In thiscase, S64 and S72 of FIG. 6 are omitted. Further, for example, asituation may be assumed in which after S10 to S60 of FIG. 4 have beenexecuted in response to the activation of the print scan app 28 and themenu screen has been displayed in S90, S10, S40, and S60 of FIG. 4 areexecuted again in response to re-activation of the print scan app 28 anda menu screen is displayed again in S90. In this case, the processesfrom S66 to S70 of FIG. 6 are executed by using the app information at atiming of the initial activation of the print scan app 28, and theprocesses of S66 to S70 are executed again by using the same appinformation at a timing of the latter activation of the print scan app28. That is, according to the comparative example, the same processes(that is, S66 to S70) are repeatedly executed by using the same appinformation. Contrary to this, in the present embodiment, when the CPU22 executes the processes from S66 to S70 at the timing of the initialactivation, it sets the determination flag included in the appinformation to “ON” in S72. Due to this, the CPU 22 determines YES inS64 at the timing of the latter activation and does not execute theprocesses of S66 to S70. Since the processes of S66 to S70 are notrepeatedly executed by using the same app information, processing loadcan be reduced. In a variant, the configuration of the comparativeexample may be employed.

Further, for example, a comparative example may be assumed in which whena plug-in app is installed to the terminal device 10, a compliance listcorresponding to this plug-in app is received from the list providingserver 600 and this compliance list is stored in the memory 24. In thiscase, the process of S66 is omitted, and the determination is made inS68 by using the compliance list stored in the memory 24. However, inthe list providing server 600, the compliance list may be updated. Dueto this, the determination can be executed in S68 by using an oldcompliance list instead of a latest compliance list. As a result, thedetermination on whether or not the target device is compliant with theplug-in app may not be executed appropriately. Contrary to this, in thepresent embodiment, the CPU 22 can execute the process of S68 by usingthe latest compliance list by receiving the latest compliance list fromthe list providing server 600 (S66). As a result, the CPU 22 canappropriately determine whether or not the target device is compliantwith the plug-in app. In a variant, the configuration of the comparativeexample may be employed.

(Selection Monitoring Process; FIG. 7)

The selection monitoring process (see S100 of FIG. 4) will be describedwith reference to FIG. 7. The CPU 22 monitors whether the function icon,the app icon, the device designation icon, and the install icon in themenu screen are selected respectively in S101, S110, S120, and S130.

In a case where the function icon is selected, the CPU 22 determines YESin S101 and causes the target device to execute the print process or thescan process corresponding to the function icon in S102. For example, ina case where the print icon I20 is selected, the CPU 22 displays aselection screen for selecting a print target image on the display unit12. Then, when the print target image is selected, the CPU 22 sends aprint execution instruction for instructing print of the selected imageto the target device with the IP address included in the targetinformation 32 as a destination, without using any of the plug-in apps.By so doing, the print process of the selected image is executed in thetarget device. Further, for example, in a case where the scan icon I21is selected, the CPU 22 sends a scan execution instruction to the targetdevice with the IP address included in the target information 32 as thedestination, without using any of the plug-in apps. By so doing, thescan process on a target document is executed in the target device, andimage data generated by the scan process is sent to the terminal device10. When the process of S102 is completed, the process of FIG. 7 iscompleted.

In a case where the app icon is selected, the CPU 22 determines YES inS110, and activates the plug-in app indicated by the selected app iconin S112. Then, in S114, the CPU 22 sends an execution instruction for animage process corresponding to the activated plug-in app to the targetdevice with the IP address included in the target information 32 as thedestination. For example, in a case where the business card icon I30 isselected (YES in S110), the CPU 22 activates the business card print app40 (S112), and displays an editor screen for an image to be printed onthe business card-size print medium on the display unit 12 in accordancewith the business card print app 40. Then, the CPU 22 sends the printexecution instruction for instructing print of the edited image to thetarget device (S114). Due to this, the print process for the image onthe business card-size print medium is executed in the target device, bywhich a business card is created. When the process of S114 is completed,the process of FIG. 7 is completed.

In a case where the device designation icon ISO is selected, the CPU 22determines YES in S120 and proceeds to S122. S122 is similar to S16 toS24 of FIG. 4. In this case, in S22, target information 32 of a newlydesignated target device is registered as a substitution of the oldtarget information 32 in the memory 24. When the process of S122 iscompleted, the process of FIG. 7 is completed.

In a case where the install icon I40 is selected, the CPU 22 determinesYES in S130 and sends an installation screen request for requestinginstallation screen data to the application providing server 500 inS132. The installation screen data is data representing an installationscreen for installing a plug-in app. The installation screen dataincludes a list of the app names of all the plug-in apps stored in theapplication providing server 500.

In S134, the CPU 22 specifies app names that are not included in the appinformation table 30 from the list of app names of all the plug-in appsincluded in the installation screen data. Then, the CPU 22 displays aninstallation screen including a list of the specified app names (thatis, the app names of plug-in apps that are not installed in the terminaldevice 10) on the display unit 12.

In S136, the CPU 22 monitors whether one of the app names is selected bythe user from the list in the installation screen. In a case where oneof the app names is selected by the user, the CPU 22 determines YES inS136 and proceeds to S138.

In S138, the CPU 22 requests the application providing server 500 tosend a plug-in app indicated by the selected app name, and receives thisplug-in app from the application providing server 500. Then, the CPU 22stores this plug-in app in the memory 24 (that is, this plug-in app isinstalled to the terminal device 10). When the process of S138 iscompleted, the process of FIG. 7 is completed.

(Specific Examples of Menu Screen; FIG. 8)

Specific examples of the menu screen displayed according to the processof FIG. 4 will be described with reference to FIG. 8. For example, inthe situation where the print scan app 28 and the respective plug-inapps 40 to 44 are installed in the terminal device 10 and a targetdevice has not yet been designated, the terminal device 10 displays thedefault menu screen MS0 (NO in S10, and S12 of FIG. 4). The user selectsthe device designation icon ISO in the menu screen MS0 to designate atarget device (YES in S14). Due to this, the terminal device 10 displaysa device designation screen SC1 including the model names of therespective image processing devices 100 to 400 connected to the LAN 4(S18).

In Case A, the user designates the model name “Lz_mfp” of themulti-function peripheral 200 from the device designation screen SC1. Inthis case, the terminal device 10 stores target information 32 includingthe model name “Lz_mfp” (S22), and displays a menu screen MS1 a (S90).Since the multi-function peripheral 200 which is capable of executingboth the print function and the scan function has been designated, thefunction information included in the target information 32 indicatesboth the print function and the scan function (YES in S42 of FIG. 5), asa result of which the terminal device 10 determines that the print iconI20 and the scan icon I21 are to be displayed (S44). Due to this, themenu screen MS1 a includes the print icon I20 and the scan icon I21.

The terminal device 10 further determines that the model name “Lz_mfp”of the multi-function peripheral 200 is not included in the compliancelist corresponding to the business card print app 40 (NO in S68 of FIG.6), and sets the grayout flag corresponding to the business card printapp 40 to “ON” (S70). On the other hand, the terminal device 10determines that the model name “Lz_mfp” is included in each of thecompliance lists of the book scan app 42 and the map print app 44 (YESin S68), and maintains the grayout flags corresponding to these plug-inapps 42, 44 to “OFF”. As a result, the menu screen MS1 a includes thebusiness card icon I30 having the grayed-out displaying state and thebook icon I31 and the map icon I32 having the normal displaying state.

As aforementioned, since the business card icon I30 has the grayed-outdisplaying state, the user cannot select the business card icon I30 toactivate the business card print app 40. Due to this, the printexecution instruction for instructing print of an image on the businesscard-size print medium can be prevented from being sent to themulti-function peripheral 200 when the multi-function peripheral 200 isnot compliant with the business card print app 40. In a case where anapp icon having the grayed-out displaying state (which is herein thebusiness card icon I30) is selected, the CPU 22 may display on thedisplay unit 12 a message notifying that the image process correspondingto the app icon cannot be executed in the target device.

Here, a comparative example is assumed in which a menu screen that doesnot include the business card icon I30 is displayed. In this case, theuser cannot recognize from the menu screen whether or not the businesscard print app 40 is installed in the terminal device 10. Contrary tothis, in the present embodiment, the menu screen MS1 a includes thebusiness card icon I30 having the grayed-out displaying state. Due tothis, the user can recognize, from the menu screen MS1 a, that thebusiness card print app 40 is installed in the terminal device 10 butthe business card print app 40 is not compliant with the target device(that is, the multi-function peripheral 200). In a variant, theconfiguration of the comparative example may be employed.

In Case B, the user designates the model name “Ink_print” of the printer400 in the service designation screen SC1. In this case, the terminaldevice 10 stores target information 32 including the model name“Ink_print” (S22 of FIG. 4), and displays a menu screen MS2 a (S90).Since the printer 400 which is capable of executing only the printfunction has been designated, the function information included in thetarget information 32 indicates only the print function (YES in S48 ofFIG. 5), as a result of which the terminal device 10 determines that theprint icon I20 is to be displayed and the scan icon I21 is not to bedisplayed (S50). Due to this, the menu screen MS2 a includes the printicon I20 but does not include the scan icon I21. The user can recognizethat the target device (that is, the printer 400) is not capable ofexecuting the scan function from the menu screen MS2 a that does notinclude the scan icon I21.

The terminal device 10 further determines that the model name“Ink_print” of the printer 400 is not included in the compliance listcorresponding to the book scan app 42 (NO in S68 of FIG. 6), anddetermines that the model name “Ink_print” is included in each of thecompliance lists of the business card print app 40 and the map print app44 (YES in S68 of FIG. 6). As a result, the menu screen MS2 a includesthe book icon I31 having the grayed-out displaying state and thebusiness card icon I30 and the map icon I32 having the normal displayingstate.

In Case C, the user designates the model name “ADF_scan” of the scanner300 in the service designation screen SC1. In this case, the terminaldevice 10 stores target information 32 including the model name“ADF_scan” (S22 of FIG. 4), and displays a menu screen MS2 b (S90).Since the scanner 300 which is capable of executing only the scanfunction has been designated, the function information included in thetarget information 32 indicates only the scan function (NO in S48 ofFIG. 5), as a result of which the terminal device 10 determines that theprint icon I20 is not to be displayed and the scan icon I21 is to bedisplayed (S54). Due to this, the menu screen MS2 b does not include theprint icon I20 and includes the scan icon I21. The user can recognizethat the target device (that is, the scanner 300) is not capable ofexecuting the print function from the menu screen MS2 b that does notinclude the print icon I20.

The terminal device 10 further determines that the model name “ADF_scan”of the scanner 300 is not included in any of the compliance listscorresponding to the respective plug-in apps 40 to 44 (NO in S68 of FIG.6). As a result, the menu screen MS2 b includes the app icons I30 to I32having the grayed-out displaying state.

In Case D, the user selects the device designation icon ISO in the menuscreen MS1 a, and further designates the model name “Ink_print” of theprinter 400 in the device designation screen SC1. In this case, theterminal device 10 stores the target information 32 including the modelname “Ink_print” as a substitution to the target information 32including the model name “Lz_mfp” (S22 of FIG. 4), and displays the menuscreen MS2 a as a substitution to the menu screen MS1 a (S90). As above,when the designated target device is changed by the user, the terminaldevice 10 accordingly changes the displaying states of the app iconsincluded in the menu screen. Due to this, in the case where the targetdevice is changed, an execution instruction of an image processcorresponding to a plug-in app not compliant with the target deviceafter the change can be prevented from being sent to the target deviceafter the change.

(Specific Examples of Menu Screen; FIG. 9)

Specific examples of the menu screen displayed in accordance with theprocess of FIG. 4 in a case where an additional plug-in app is installedwill be described with reference to FIG. 9.

In one case, the multi-function peripheral 100 having the model name“Ink_mfp” is designated as the target device. In this case, the terminaldevice 10 displays a menu screen MS1 b (S90 of FIG. 4). Since the modelname “Ink_mfp” is included in each of the compliance lists correspondingto the respective plug-in apps 40 to 44 (YES in S68 of FIG. 6), the menuscreen MS1 b includes the app icons I30 to I32 having the normaldisplaying state.

The user selects the install icon I40 in the menu screen MS1 b toinstall an additional plug-in app (YES in S130 of FIG. 7). Due to this,the terminal device 10 displays an installation screen SC2 (S134). Theuser selects the app name “CD label print” in the installation screenSC2 (YES in S136 of FIG. 7). Due to this, the CD label print app 46 isinstalled in the terminal device 10 (S138).

When the CD label print app 46 is installed, the terminal device 10executes the process of FIG. 4 again and displays a menu screen MS3 as asubstitution to the menu screen MS1 b (S90 of FIG. 4). Since the modelname “Ink_mfp” is included in the compliance list corresponding to theCD label print app 46 (YES in S68 of FIG. 6), the menu screen MS3includes a CD icon I33 having the normal displaying state.

In another case, the multi-function peripheral 200 having the model name“Lz_mfp” is designated as the target device. In this case, the terminaldevice 10 displays the menu screen MS1 a (S90 of FIG. 4).

The user selects the install icon I40 in the menu screen MS1 a (YES inS130 of FIG. 7), and selects the app name “CD label print” in theinstallation screen SC2 (YES in S136). Due to this, the CD label printapp 46 is installed in the terminal device 10 (S138).

When the CD label print app 46 is installed, the terminal device 10executes the process of FIG. 4 again and displays a menu screen MS4 as asubstitute to the menu screen MS1 a (S90 of FIG. 4). Since the modelname “Lz_mfp” is not included in the compliance list corresponding tothe CD label print app 46 (NO in S68 of FIG. 6), the menu screen MS4includes the CD icon I33 having the grayed-out displaying state.

According to the specific examples, in the case where the CD label printapp 46 being the additional plug-in app is compliant with themulti-function peripheral 100 being the target device, the terminaldevice 10 displays the menu screen MS3. Due to this, in a case where theapp icon I33 in the menu screen MS3 is selected, the terminal device 10can suitably send to the multi-function peripheral 100 an executioninstruction for image process corresponding to the CD label print app46. On the other hand, in the case where the CD label print app 46 isnot compliant with the multi-function peripheral 200 being the targetdevice, the terminal device 10 displays the menu screen MS4. Since theapp icon I33 in the menu screen MS4 is not selected, an executioninstruction for image process corresponding to the CD label print app 46can be prevented from being sent to the multi-function peripheral 200when the multi-function peripheral 200 is not compliant with the CDlabel print app 46.

(Corresponding Relationships)

The image processing devices 100 to 400 of FIG. 1, the multi-functionperipheral 200 designated in the menu screen MS1 a of FIG. 8, and themodel name “Lz_mfp” are respectively examples of “one or more imageprocessing devices”, “first image processing device”, and “first deviceinformation”. The plug-in apps 40 to 44 of FIG. 1, the menu screen MS1 aof FIG. 8, the app icons I31 and I32 in the menu screen MS1 a, the bookscan app 42 and the map print app 44, and the business card print app 40are respectively examples of “M applications”, “first menu screen”, “Nicons”, “N applications”, and “(M−N) applications”. The normaldisplaying state and the grayed-out displaying state are respectivelyexamples of “first type of displaying state” and “second type ofdisplaying state”. The compliance list of FIG. 2 is an example of“specification information”. The menu screen MS0 of FIG. 8 and thedevice designation screen SC1 of FIG. 8 are respectively examples of“specific menu screen” and “designation screen”. The printer 400designated in the menu screen MS2 a of FIG. 8 and the model name“Ink_print” are respectively examples of “second image processingdevice” and “second device information”. The menu screen MS2 a of FIG.8, the app icons I30 and I32 in the menu screen MS2 a, the business cardprint app 40 and the map print app 44, and the book scan app 42 arerespectively examples of “second menu screen”, “L icons”, “Lapplications”, and “(M−L) applications”. The menu screen MS3 of FIG. 9,the menu screen MS4 of FIG. 9, and the CD label print app 46 arerespectively examples of “third menu screen” “fourth menu screen”, and“additional application”.

S22, S60, and S90 of FIG. 4 are respectively examples of “registeringfirst device information of a first image processing device”,“specifying N (or L) applications corresponding to one or more types ofimage processes that the first (or second) image processing device iscapable of executing”, and “displaying a first (or any of second tofourth) menu screen on a display unit”. S12, S16, and S18 of FIG. 4 arerespectively examples of “displaying a specific menu screen on thedisplay unit”, “receiving function information indicating a functionthat the first image processing device is capable of executing”, and“displaying a designation screen for designating the first imageprocessing device”. S114 and S102 of FIG. 7 are respectively examples of“sending an execution instruction to the first image processing device”and “sending an execution instruction for the print (or scan) functionto the first image processing device”. S68 of FIG. 6 and S122 of FIG. 7are respectively examples of “determining whether the first imageprocessing device is capable of executing an image process correspondingto the additional application” and “registering second deviceinformation”.

Second Embodiment

In the first embodiment, after the default menu screen MS0 is displayed(S12 of FIG. 4), one icon other than the install icon is selected, and atarget device is designated (S20), a menu screen based on results of theprocesses of S40 and S60 is displayed (S90). The present embodimentdiffers from the first embodiment in that a process based on a type ofthe icon selected in the default menu screen MS0 is executed after thetarget device has been designated and before the menu screen isdisplayed again.

In the present embodiment, a switching process (see FIG. 10) is executedin S200 after S24 of FIG. 4. The switching process is a process forswitching processes based on the icon selected in S14 (hereinbelowtermed “selected icon”). When S200 is completed, the CPU 22 returns toS10.

(Switching Process; FIG. 10)

The switching process (see S200 of FIG. 4) will be described withreference to FIG. 10. In S201, the CPU 22 determines whether or not theselected icon is a function icon (such as I20). In a case of determiningthat the selected icon is a function icon (YES in S201), the CPU 22proceeds to S202. In a case of determining that the selected icon is nota function icon (NO in S201), the CPU 22 proceeds to S210.

S202 is similar to S102 of FIG. 7. That is, after a target device hasbeen designated by the processes of S16 to S22 of FIG. 4, the terminaldevice 10 causes the target device to execute the print process or thescan process corresponding to the function icon selected in S14, withoutdisplaying a menu screen again. In the first embodiment in which a menuscreen is displayed again after the processes of S16 to S22 of FIG. 4,the user needs to select the same function icon twice to cause thetarget device to execute the print process or the scan processcorresponding to the function icon. Contrary to this, in the presentembodiment, the user simply needs to select the function icon once.Convenience for the user is improved. When S202 is completed, theprocess of FIG. 10 is completed.

Further, in S210, the CPU 22 determines whether or not the selected iconis an app icon. In a case of determining that the selected icon is anapp icon (YES in S210), the CPU 22 proceeds to S212. On the other hand,in a case of determining that the selected icon is not an app icon (thatis, the selected icon is the device designation icon; NO in S210), theCPU 22 skips processes of S212 to S220 and completes the process of FIG.10.

S212 is similar to S66 of FIG. 6, except that the app ID of the plug-inapp indicated by the selected icon is acquired from the app informationtable 30 and the acquired app ID is sent to the list providing server600. S214 is similar to S68 of FIG. 6.

In a case of determining that the model name included in the targetinformation 32 is not included in the received compliance list (NO inS214), the CPU 22 displays a noncompliance screen indicating that thetarget device is not compliant with the plug-in app indicated by theselected icon on the display unit 12. When the process of S216 iscompleted, the process of FIG. 10 is completed.

In a case of determining that the model name included in the targetinformation 32 is included in the received compliance list (YES inS214), the CPU 22 proceeds to S218. S218 and S220 are similar to S112and S114 of FIG. 7. When the process of S220 is completed, the processof FIG. 10 is completed.

(Specific Examples of Screen; FIG. 11)

Specific example of the screen displayed when an app icon is selected inthe default menu screen MS0 will be described with reference to FIG. 11.

For example, the user selects the business card icon I30 in the defaultmenu screen MS0 (YES in S14 of FIG. 4). Due to this, the terminal device10 displays the device designation screen SC1 (S18).

In one case, the user designates the model name “Lz_mfp” of themulti-function peripheral 200 in the device designation screen SC1. Inthis case, since the model name “Lz_mfp” is not included in thecompliance list corresponding to the business card print app 40indicated by the selected business card icon I30 (NO in S214 of FIG.10), the terminal device 10 displays a noncompliance screen SC3 (S216).Due to this, the user can recognize that the business card print app 40indicated by the selected business card icon I30 is not compliant withthe multi-function peripheral 200 being the target device.

After the noncompliance screen SC3 is displayed, the terminal device 10returns to S10 of FIG. 4, determines that the target information 32 isstored in the memory 24 (YES in S10), executes the processes of S40 toS60, and displays the menu screen MS1 a (S90). As aforementioned, themenu screen MS1 a includes the business card icon I30 having thegrayed-out displaying state.

In another case, the user designates the model name “Ink_mfp” of themulti-function peripheral 100 in the device designation screen SC1. Inthis case, since the model name “Ink_mfp” is included in the compliancelist corresponding to the business card print app 40 (YES in S214 ofFIG. 10), the terminal device 10 activates the business card print app40 and causes the multi-function peripheral 100 being the target deviceto execute the print process corresponding to the business card printapp 40 (S220). That is, after the target device has been designated bythe processes of S16 to S22 of FIG. 4, the terminal device 10 causes themulti-function peripheral 100 to execute the print process correspondingto the business card icon I30 being the selected icon, withoutdisplaying a menu screen. In the first embodiment in which a menu screenis displayed again after the processes of S16 to S22 of FIG. 4, the userneeds to select the same business card icon I30 twice to cause themulti-function peripheral 100 to execute the print process correspondingto the business card icon I30. Contrary to this, in this embodiment, theuser simply needs to select the business card icon I30 once. Theconvenience for the user is improved. The noncompliance screen SC3 ofFIG. 11 is an example of “notification screen”. S216 of FIG. 10 is anexample of “displaying a notification screen on the display unit”.

Third Embodiment

In this embodiment, a part of the process of FIG. 6 executed by the CPU22 of the terminal device 10 is different from that of the firstembodiment.

(Application Specifying Process; FIG. 6)

The process of FIG. 6 is similar to that of the first embodiment, exceptthat contents of the processes of S66 and S68 are different. In S66, theCPU 22 sends an inquiry request including the model name included in thetarget information 32 and the app ID included in the specific appinformation to the list providing server 600 through the LAN I/F 14 andthe Internet 6.

The inquiry request is a request for inquiring the list providing server600 whether the target device is compliant with the plug-in app. Whenreceiving the inquiry request, the list providing server 600 specifiesthe compliance list corresponding to the app ID included in the inquiryrequest from the compliance list table 630. In a case of determiningthat the model name included in the inquiry request is included in thespecified compliance list, the list providing server 600 sends aninquiry response including a result indicating that the target device iscompliant with the plug-in app to the terminal device 10. On the otherhand, in a case of determining that the model name included in theinquiry request is not included in the specified compliance list, thelist providing server 600 sends an inquiry response including a resultindicating that the target device is not compliant with the plug-in appto the terminal device 10.

In S68, the CPU 22 receives the inquiry response from the list providingserver 600, and determines whether the result included in the receivedinquiry response indicates compliance or noncompliance. In a case ofdetermining that the result included in the received inquiry responseindicates compliance (YES in S68), the CPU 22 skips S70 and proceeds toS72. On the other hand, in a case of determining that the resultincluded in the received inquiry response indicates noncompliance (NO inS68), the CPU 22 changes the grayout flag included in the specific appinformation in the app information table 30 from “OFF” to “ON” in S70.

According to the present embodiment as well, similarly to the firstembodiment, it can be determined whether or not the target device iscompliant with the respective plug-in apps installed in the terminaldevice 10. Then, the terminal device 10 can use this determinationresult and display a menu screen that includes an app icon indicating aplug-in app not compliant with the target device in the grayed-outdisplaying state (for example, MS1 a of FIG. 8). In the presentembodiment as well, similarly to the first embodiment, an executioninstruction of image process corresponding to a plug-in app can beprevented from being sent to the target device when the target device isnot compliant with the plug-in app.

(Variant 1) In each of the above embodiments, the compliance list table630 stores the lists of the model names of the image processing devicescompliant with the plug-in apps. Instead of this, the compliance listtable 630 may store lists of model numbers or serial numbers foridentifying the image processing devices compliant with the plug-inapps. In this case, in a case of determining that the model number orthe like of the target device is not included in the list received fromthe list providing server 600 in S68 of FIG. 6, the terminal device 10may execute the process of S70. In this variant, the model number or theserial number is an example of “first device information”.

(Variant 2) In each of the above embodiments, the list providing server600 stores the compliance list table 630. Instead of this, the listproviding server 600 may store a compliance spec table. The compliancespec table stores the app IDs, the app names, and compliance specs inassociation with each other. Each compliance spec indicates a spec of animage processing device (such as the laser scheme, the ADF scheme, etc.)that is compliant with the plug-in app identified by its correspondingapp ID. In this case, in a case of determining that the spec of thetarget device does not match the compliance spec received from the listproviding server 600 in S68 of FIG. 6, the terminal device 10 mayexecute the process of S70. In this variant, the spec of the targetdevice is an example of “first device information”.

(Variant 3) In each of the above embodiments, the app information table30 stores the grayout flags. Instead of this, the app information table30 may store hide flags. Each hide flag is set to either one of “ON”indicating that the corresponding plug-in app is to be hidden or “OFF”indicating that the plug-in app is to be displayed. In this case, theterminal device 10 may change the hide flag from “OFF” to “ON” in S70 ofFIG. 6. Further, in a case of setting the hide flag in the appinformation table 30 to “ON”, the terminal device 10 may display a menuscreen that does not include the app icon indicating the plug-in appidentified by the app ID corresponding to the hide flag. To express theabove in general terms, “first menu screen” may not include the (M−N)icons indicating the (M−N) applications.

(Variant 4) As explained in the above comparative examples, the terminaldevice 10 may not execute the process of S66 of FIG. 6. In this case,the terminal device 10 may receive and store a compliance listcorresponding to a plug-in app from the list providing server 600 uponinstalling the plug-in app, and may execute the process of S68 by usingthe stored compliance list. To express the above in general terms,“specifying N applications” may specify the N applications from amongthe M applications by using specification information in the memory.

(Variant 5) In each of the above embodiments, the compliance list table630 stores the compliance lists. Instead of this, the compliance listtable 630 may store noncompliance lists. Here, each noncompliance listis a list of the model names of the respective image processing devicesthat are not compliant with the plug-in app identified by thecorresponding app ID and app name. In this case, in the case ofdetermining NO in S64 of FIG. 6, the terminal device 10 may receive thenoncompliance list from the list providing server 600. Then, theterminal device 10 may execute S70 in a case where the model nameincluded in the target information 32 is included in the noncompliancelist. The terminal device 10 may skip S70 in other cases and executeS72. In this variant, the noncompliance list is an example of“specification information”.

(Variant 6) In the above first embodiment, the menu screen MS2 a of FIG.8 does not include the scan icon I21. Instead of this, the menu screenMS2 a may include the scan icon I21 having the grayed-out displayingstate. To express the above in general terms, “first menu screen” maynot include other icon (such as the scan icon), or may include the othericon having a displaying state different from a displaying state of oneicon (such as the print icon).

(Variant 7) In the above second embodiment, the terminal device 10 sendsthe app ID of the plug-in app indicated by the selected icon to the listproviding server 600 in S212 of FIG. 10. Instead of this, the terminaldevice 10 may send all the app IDs in the app information table 30 tothe list providing server 600, and receive all the compliance listscorresponding to all the app IDs from the list providing server 600.Then, the terminal device 10 may specify one or more compliance listsincluding the model name of the target device from among all thereceived compliance lists. Further, the terminal device 10 may display alist of app names of one or more app IDs corresponding to the one ormore specified compliance lists. In this variant, the list of the appnames of the one or more app IDs is an example of “notification screen”.

(Variant 8) The terminal device 10 may not execute the process of S40 ofFIG. 4. In this variant, “receiving function information indicating afunction that the first image processing device is capable of executing”and “sending an execution instruction for the print (and scan) function”may be omitted.

(Variant 9) The terminal device 10 may not execute the processes of S14to S24 of FIG. 4. Instead of this, the terminal device 10 may executeS100 after S12. In this case, the terminal device 10 may execute theprocesses of S14 to S24 of FIG. 4 after S112 of FIG. 7, and then mayexecute the process of S114. In this variant, “displaying a designationscreen” may be omitted.

(Variant 10) The communication system 2 may include only one imageprocessing device (e.g., the multi-function peripheral 100). In thisvariant, “registering second device information”, “specifying Lapplications corresponding to one or more types of image processes thatthe second image processing device is capable of executing”, and“displaying a second menu screen” may be omitted.

(Variant 11) Each of the plug-in apps 40 to 44 may be installed to theterminal device 10 at a same time as the print scan app 28. The menuscreen may not include the install icon. In this variant, “determiningwhether the first image processing device is capable of executing animage process corresponding to the additional application”, “displayinga third menu screen”, and “displaying a fourth menu screen” may beomitted.

(Variant 12) The business card print app 40 may be a plug-in app forcausing an image processing device to execute not only the print processof an image on the business card-size print medium, but also a scanprocess for a business card-size document. That is, one plug-in app maycorrespond to two or more types of image processes. To express the abovein general terms, “N applications” may correspond to N types of imageprocesses, or may correspond to N or more types of image processes.

(Variant 13) In each of the above embodiments, the terminal device 10executes the processes of S64 to S72 of FIG. 6 to each of the appinformation in the app information table 30. Instead of this, in a casewhere the target device is capable of executing only one of the printfunction and the scan function, the terminal device 10 may specify theapp information of the plug-in apps (such as the business card print app40 and the map print app 44) related to the one function (such as theprint function) from among all the app information in the appinformation table 30. Further, the terminal device 10 may execute theprocesses of S64 to S72 of FIG. 6 to each of the specified one or moreapp information.

(Variant 14) In each of the above embodiments, the respective processesof FIGS. 4 to 7 and 10 are executed by the CPU 22 of the terminal device10 executing the programs 26, 28 (that is, software). Instead of this,one or more of the processes may be implemented by hardware such aslogic circuits.

What is claimed is:
 1. A non-transitory computer-readable medium storingcomputer-readable instructions for a terminal device, thecomputer-readable instructions, when executed by a processor of theterminal device, causing the terminal device to: register first deviceinformation of a first image processing device in a memory of theterminal device in a case where the first image processing device isdesignated, from among one or more image processing devices with whichthe terminal device is capable of communicating, as a target imageprocessing device that is to execute an image process in accordance withan instruction from the terminal device; after the first deviceinformation has been registered in the memory, specify by using thefirst device information in the memory, from among M applications thatthe computer-readable instructions are capable of using, N applicationscorresponding to one or more types of image processes that the firstimage processing device is capable of executing, the M being an integerof 1 or larger and the N being an integer satisfying 1≤N≤M; display afirst menu screen on a display unit of the terminal device, the firstmenu screen including N icons indicating the specified N applications,each of the N icons having a first type of displaying state that iscapable of accepting a selecting operation for using an application, thefirst menu screen not including each of (M−N) icons having the firsttype of displaying state, the (M−N) icons indicating (M−N) applicationsother than the N applications among the M applications; and in a casewhere a target icon is selected from among the N icons included in thefirst menu screen, send an execution instruction to the first imageprocessing device by using a target application indicated by theselected target icon, the execution instruction being for a target imageprocess corresponding to the target application.
 2. The non-transitorycomputer-readable medium as in claim 1, wherein the memory is configuredto store, for each of the M applications, specification information forspecifying an image processing device that is capable of executing animage process corresponding to the application, and the N applicationsare specified from among the M applications by using the first deviceinformation and the specification information in the memory.
 3. Thenon-transitory computer-readable medium as in claim 1, wherein thecomputer-readable instructions, when executed by the processor, furthercause the terminal device to: send an inquiry request to a server, theinquiry request including the first device information in the memory andM application identification information for identifying the Mapplications, the inquiry request being for causing the server to:determine whether the first image processing device indicated by thefirst device information is capable of executing an image processcorresponding to each of the M applications identified by the Mapplication identification information; and send an inquiry responseincluding a result of the determination, wherein the N applications arespecified from among the M applications based on the result of thedetermination included in the inquiry response received from the server.4. The non-transitory computer-readable medium as in claim 1, whereinthe first menu screen includes: each of the N icons having the firsttype of displaying state; and each of (M−N) icons having a second typeof displaying state that is not capable of accepting the selectingoperation.
 5. The non-transitory computer-readable medium as in claim 4,wherein the computer-readable instructions, when executed by theprocessor, further cause the terminal device to: specify one or moreimage process functions that the first image processing device iscapable of executing, wherein the first menu screen includes one or moreimage processing icons corresponding to the specified one or more imageprocessing functions, the N icons, and the (M−N) icons, the one or moreimage processing icons and the N icons having the first type ofdisplaying state, and the (M−N) icons having the second type ofdisplaying state.
 6. The non-transitory computer-readable medium as inclaim 4, wherein each of one or more types of image processescorresponding to the M applications is a process which is related to atleast one of a print function and a scan function, the computer-readableinstructions, when executed by the processor, further cause the terminaldevice to: receive, from the first image processing device, functioninformation indicating a function that the first image processing deviceis capable of executing, wherein in a case where the functioninformation indicates both of the print function and the scan function,the first menu screen includes: each of the N icons having the firsttype of displaying state, the N icons indicating the N applicationswhich are related to both of the print function and the scan function;each of the (M−N) icons having the second type of displaying state; aprint icon indicating the print function; and a scan icon indicating thescan function, wherein in a case where the function informationindicates one function among the print function and the scan functionand does not indicate the other function among the print function andthe scan function, the first menu screen includes: each of the N iconshaving the first type of displaying state, the N icons indicating the Napplications which are related to the one function and which are notrelated to the other function; each of the (M−N) icons having the secondtype of displaying state; and one icon indicating the one function amongthe print icon and the scan icon, wherein the first menu screen does notinclude the other icon indicating the other function among the printicon and the scan icon, wherein the computer-readable instructions, whenexecuted by the processor, further cause the terminal device to: in acase where the first menu screen includes the print icon and the printicon is selected, send an execution instruction for the print functionto the first image processing device without using any one of the Mapplications; and in a case where the first menu screen includes thescan icon and the scan icon is selected, send an execution instructionfor the scan function to the first image processing device without usingany one of the M applications.
 7. The non-transitory computer-readablemedium as in claim 1, wherein the computer-readable instructions, whenexecuted by the processor, further cause the terminal device to: beforedevice information of the target image processing device is registeredin the memory, display a specific menu screen on the display unit, thespecific menu screen including M icons indicating the M applications,each of the M icons having the first type of displaying state; and in acase where a specific icon among the M icons in the specific menu screenis selected, display a designation screen for designating a specificimage processing device from among the one or more image processingdevices without using a specific application indicated by the specificicon, and register a specific device information of the specific imageprocessing device in the memory as the target image processing device ina case where the specific image processing device is designated in thedesignation screen.
 8. The non-transitory computer-readable medium as inclaim 7, wherein the computer-readable instructions, when executed bythe processor, further cause the terminal device to: display anotification screen on the display unit in a case where the specificimage processing device is designated in the designation screen and thespecific image processing device is not capable of executing a specificimage process corresponding to the specific application, thenotification screen being related that the specific image processingdevice is not compliant with the specific application.
 9. Thenon-transitory computer-readable medium as in claim 1, wherein thecomputer-readable instructions, when executed by the processor, furthercause the terminal device to: in a case where a second image processingdevice different from the first image processing device is designated asthe target image processing device from among the one or more imageprocessing devices after the first device information has beenregistered in the memory, register second device information of thesecond image processing device in the memory as a substitution of thefirst device information; after the second device information has beenregistered in the memory as the substitution of the first deviceinformation, specify, from among the M applications, L applicationscorresponding to one or more types of image processes that the secondimage processing device is capable of executing, the L being an integersatisfying 1≤L≤M; and display a second menu screen on the display unit,the second menu screen including L icons indicating the specified Lapplications, each of the L icons having the first type of displayingstate, the second menu screen not including each of (M−L) icons havingthe first type of displaying state, the (M−L) icons indicating (M−L)applications other than the L applications among the M applications. 10.The non-transitory computer-readable medium as in claim 1, wherein thecomputer-readable instructions, when executed by the processor, furthercause the terminal device to: in a case where an additional applicationis installed to the terminal device in addition to the M applications,determine, by using the first device information in the memory, whetherthe first image processing device is capable of executing an imageprocess corresponding to the additional application; in a case where itis determined that the first image processing device is capable ofexecuting the image process corresponding to the additional application,display a third menu screen on the display unit, the third menu screenincluding each of the N icons having the first type of displaying stateand an additional icon indicating the additional application, theadditional icon having the first type of displaying state; and in a casewhere it is determined that the first image processing device is notcapable of executing the image process corresponding to the additionalapplication, display a fourth menu screen on the display unit, thefourth menu screen including each of the N icons having the first typeof displaying state and not including the additional icon having thefirst type of displaying state.
 11. A terminal device comprising: adisplay unit; a processor; and a memory configured to storecomputer-readable instructions therein, the computer-readableinstructions, when executed by the processor, causing the terminaldevice to: register first device information of a first image processingdevice in the memory in a case where the first image processing deviceis designated, from among one or more image processing devices withwhich the terminal device is capable of communicating, as a target imageprocessing device that is to execute an image process in accordance withan instruction from the terminal device; after the first deviceinformation has been registered in the memory, specify by using thefirst device information in the memory, from among M applications thatthe computer-readable instructions are capable of using, N applicationscorresponding to one or more types of image processes that the firstimage processing device is capable of executing, the M being an integerof 1 or larger and the N being an integer satisfying 1≤N≤M; display afirst menu screen on the display unit, the first menu screen including Nicons indicating the specified N applications, each of the N iconshaving a first type of displaying state that is capable of accepting aselecting operation for using an application, the first menu screen notincluding each of (M−N) icons having the first type of displaying state,the (M−N) icons indicating (M−N) applications other than the Napplications among the M applications; and in a case where a target iconis selected from among the N icons included in the first menu screen,send an execution instruction to the first image processing device byusing a target application indicated by the selected target icon, theexecution instruction being for a target image process corresponding tothe target application.
 12. A method performed by a terminal device, themethod comprising: registering first device information of a first imageprocessing device in a memory of the terminal device in a case where thefirst image processing device is designated, from among one or moreimage processing devices with which the terminal device is capable ofcommunicating, as a target image processing device that is to execute animage process in accordance with an instruction from the terminaldevice; after the first device information has been registered in thememory, specifying by using the first device information in the memory,from among M applications that computer-readable instructions for theterminal device are capable of using, N applications corresponding toone or more types of image processes that the first image processingdevice is capable of executing, the M being an integer of 1 or largerand the N being an integer satisfying 1≤N≤M; displaying a first menuscreen on a display unit of the terminal device, the first menu screenincluding N icons indicating the specified N applications, each of the Nicons having a first type of displaying state that is capable ofaccepting a selecting operation for using an application, the first menuscreen not including each of (M−N) icons having the first type ofdisplaying state, the (M−N) icons indicating (M−N) applications otherthan the N applications among the M applications; and in a case where atarget icon is selected from among the N icons included in the firstmenu screen, sending an execution instruction to the first imageprocessing device by using a target application indicated by theselected target icon, the execution instruction being for a target imageprocess corresponding to the target application.